#include"syscall_init.h"
#include"syscall.h"
#include"console.h"
#include"memory.h"
#include"file.h"
#include"dir.h"
#include"thread.h"
#include"fork.h"
#include"exec.h"
#include"exit.h"
#include"wait.h"

typedef void* syscall;
syscall sys_call_table[25];

void syscall_setup(void){
	sys_call_table[NR_GETPID]=(syscall)sys_getpid;
	sys_call_table[NR_FORK]=(syscall)sys_fork;
	sys_call_table[NR_EXEC]=(syscall)sys_execv;
	sys_call_table[NR_CLEAR]=(syscall)sys_clear;
	sys_call_table[NR_READ]=(syscall)sys_read;
	sys_call_table[NR_WRITE]=(syscall)sys_write;
	sys_call_table[NR_PUTCHAR]=(syscall)sys_putchar;
	sys_call_table[NR_GETCWD]=(syscall)sys_getcwd;
	sys_call_table[NR_MKDIR]=(syscall)sys_mkdir;
	sys_call_table[NR_RMDIR]=(syscall)sys_rmdir;
	sys_call_table[NR_CHDIR]=(syscall)sys_chdir;
	sys_call_table[NR_OPENDIR]=(syscall)sys_opendir;
	sys_call_table[NR_CLOSEDIR]=(syscall)sys_closedir;
	sys_call_table[NR_READDIR]=(syscall)sys_readdir;
	sys_call_table[NR_REWINDDIR]=(syscall)sys_rewinddir;
	sys_call_table[NR_STAT]=(syscall)sys_stat;
	sys_call_table[NR_PS]=(syscall)sys_ps;
	sys_call_table[NR_MALLOC]=(syscall)sys_malloc;
	sys_call_table[NR_FREE]=(syscall)sys_free;
	sys_call_table[NR_WAIT]=(syscall)sys_wait;
	sys_call_table[NR_EXIT]=(syscall)sys_exit;
}
